package com.day12.test2_throws;

import java.text.ParseException;
import java.text.SimpleDateFormat;

/**
 * @author 小坡
 * @date 2022/9/16  17:25
 **/
public class TestThrows {
    public static void main(String[] args) throws ParseException {
//        method1();   //  此时调用者也没有处理   还是会交给虚拟机进行处理   所以还是控制台进行了报错

        method2();   //  还是交给调用者处理  而main方法的调用者是虚拟机还是会采取虚拟机默认处理异常的方法,l


    }

    //    throws NullPointerException   高速调用者  你有可能会出现这样的异常
//    如果没有异常出现   那么正常执行
//    如果真的出现异常   其实也是将这个异常交给了调用者处理
    private static void method1() throws NullPointerException {
//        如果声明的异常是一个运行时异常,那么声明的代码可以省略
        int[] arr = null;
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

    //    告诉调用者，你调我用  有可能出现这种异常
    private static void method2() throws ParseException {
//        如果声明的异常是一个编译时异常,那么声明的代码必须要手动写出.
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
        simpleDateFormat.parse("2048年10月10日");
    }
}
